#include <bits/stdc++.h>

#define in read()
#define fi first
#define se second
#define pb push_back
#define y1 y_alpha_1

using namespace std;

using ll = long long;
using db = double;
using vec = vector<int>;
using pii = pair<int,int>;

int read() {
	int x = 0; bool f = 0; char ch = getchar();
	while(!isdigit(ch)) f |= ch == '-',ch = getchar();
	while(isdigit(ch)) x = (x << 1) + (x << 3) + (ch ^ 48),ch = getchar();
	return f ? -x : x;
}

const int N = 110;

bool v[N];
int sg[N],p[N],n;

int main() {
#ifndef ONLINE_JUDGE
	freopen("1.in","r",stdin);
#endif
	for(int T = in;T;T--) {
		n = in;
		sg[n] = 0;
		for(int i = n - 1;i >= 1;i--) {
			memset(v,0,sizeof v);
			for(int j = i + 1;j <= n;j++)
				for(int k = i;k <= n;k++)
					v[sg[j] ^ sg[k]] = 1;
			for(int j = 0;j < N;j++) if(!v[j]) { sg[i] = j; break; } 
		}
		for(int i = 1;i <= n;i++) p[i] = in;
		int tot = 0,ans = 0;
		for(int i = 1;i <= n;i++) if(p[i] & 1) ans ^= sg[i];
		for(int i = 1;i <= n;i++)
			if(p[i]) {
				for(int j = i + 1;j <= n;j++)
					for(int k = j;k <= n;k++)
						if((ans ^ sg[i] ^ sg[j] ^ sg[k]) == 0) {
							tot++;
							if(tot == 1) printf("%d %d %d\n",i - 1,j - 1,k - 1);
						}
			}
		if(!tot) puts("-1 -1 -1");
		printf("%d\n",tot);
	}
	return 0;
}
